<?php 
	$_SESSION['section'] = "projects";
	$_SESSION['content'] = "languages/contents/projects_en.php";
?>
<section class="content">
	<h1>Website Design and Development</h1>
	<h2>Paradise Notes</h2>
	
	<p>
		<em>Paradise Notes</em> is a website I developed as a project for <em>Web Technologies</em> subject
		during my studies. 
		It could be described as a music centered wikipedia. You can search artists, bands, albums
		and read information about them.
		It also has a social component, as you can add those artists, bands and albums to your favourites lists,
		rate and even share them on Facebook and Twitter. 
	</p>
	
	<p>
		This web uses <strong>HTML 4.01</strong>, <strong>CSS3</strong>, <strong>JQuery</strong> y <strong>PHP5</strong>. 
		The database uses <strong>MySQL</strong>.
	</p>
	
	<div class="infoBox">		
		<img class="projectThumbnail" src="pictures/paradise-notes-small.png" title="Paradise Notes (2011)" alt="Paradise Notes" />
		<ul>
			<li><a href="http://paradisenotes.web44.net">View website</a> | </li>
			<li><a href="http://code.google.com/p/tecnologiasweb/source/browse/#svn%2Ftrunk">View source code</a> | </li>
			<li><a href="http://paradisenotes.web44.net/entrega.html">Documentation</a></li>
		</ul>
	</div>	
</section>



<section class="content">
	<h1>Software Engineering</h1>
	
	<h2>PetClinic</h2>
	<p>
		<em>PetClinic</em> was the practice project I developed at the training course at <em>Coritel</em>.
		As its name suggests, this is an application to manage a pet clinic.
	</p>
	
	<p>
		The application consisted of two versions, desktop and web.
	</p>
	
	<p>
		On the desktop one, clients and their pets might be signed up, and then, 
		you could log visits (and purchases associated to those visits) from these clients.
	</p>
	
	<p>
		The web version was focused around on creating an online shop for the Pet Clinic.
		Clients might sign up, and after logging in, they could add and delete products on a shopping cart.
		
		When the customer is satisfied, he can press the purchase button and generate a bill in html (and is given the opportunity to print it also in pdf and excel).
	</p>
	
	<p>
		This application was developed in <strong>Java</strong>, with J2EE technologies and database in <strong>MySQL</strong>.<br />
		Using design patterns like <strong>singleton</strong> and <strong>MVC</strong> (this one only in the web version) and <strong>JUnit</strong> tests 
	</p>
	
	<div class="warningMsg">Notice: Due to license and contract terms, I can not include links to the source code or the application.</div>
	
	<h2>Builder Manager</h2>
	<p>
		The <em>Builder Manager</em> project was done for <em>Software Engineering II</em> subject 
		as a Final Year Project.
		It was developed in a group of six persons and the chosen topic was a worker and task management program.
	</p>
	<p>
		The program is supposed to facilitate the attribution of tasks and sub-tasks to workers.
		It was also posible to manage orders and providers.
		The objetive of the project was simulating the process of creating a Software product rather than just programming a whole application,
		passing through all the phases: creating a project plan, analyzing requirements, modeling through UML diagrams and applying design patterns
		(Singleton, Abstract Factory...); and finally coding and testing.
	</p>	
	<p>
		This project was developed in <strong>C++</strong>, it uses a <strong>MySQL</strong> database.
	</p>
	<div class="infoBox">
		<img class="projectThumbnail" src="pictures/builder-manager.png" alt="Builder Manager" title="Builder Manager (2011)" />
		<ul>
			<li><a href="http://code.google.com/p/buildermanager/source/browse/#svn%2FBuilderManager%2FBuilderManager">View source code</a> | </li>
			<li><a href="doc/builder-manager/PP.pdf">Project Plan</a> | </li>
			<li><a href="doc/builder-manager/SRS.pdf">Requirements Specification</a> | </li>
			<li><a href="doc/builder-manager/MEMORIA.pdf">Memory</a></li>
		</ul>
	</div>	
	
</section>



<section class="content">
	<h1>Computer Graphics</h1>
	<h2>Planetary Orbits Flashky</h2>
	<p>
		<em>Planetary Orbits Flashky</em> was a <em>Computer Graphics'</em> project.	
		It is a program that, as its name indicates, simulates planetary orbits.
	</p>
	<p>
	
		The translation and rotation from the planets, and its size as well, is simulated basing on real orbital data like 
		distance in AU, orbital eccentricity and inclination, rotation period and size of the planet.
	</p>
	<p>
		This idea comes from a<a href="#LP2_P3">previous practice</a> I did for <em>Programming Laboratory II</em>. 
		<br />
		I improved the idea and instead of using a 2D environment, I designed it in 3D, including orbital inclination.
	</p>
	<p>
		Project developed in <strong>C++</strong> and <strong>OpenGL</strong> libraries.
	</p>
	<div class="infoBox">
		<img class="projectThumbnail" src="pictures/orbitas-planetarias-flashky.png" title="Planetary Orbits Flashky (2009)" alt="Planetary Orbits Flashky" />
		<ul>
			<li><a href="http://igr-project.googlecode.com/files/IGr%20-%20%C3%93rbitas%20planetarias%20Flashky%20%5BFINAL%5D.rar">Download exe</a> | </li>
			<li><a href="http://code.google.com/p/igr-project/source/browse/#svn%2Ftrunk">View source code</a> | </li>
			<li><a href="doc/orbitas-planetarias/IGr-doc.pdf">Documentation</a>
		</ul>
	</div>
</section>

<section class="content">
	<h1>Other projects and practices</h1>
	<p>
		Some other practices I have done and which, I believe, are worth mentioning.
	</p>
	
	<h2><a class="anchor" name="LP2_P3">PL2 3rd Practice - Shortest path between planets</a></h2>
	<p>
		We were told to make a very basic algorithm for visiting all the planets from a solar system 
		using the shortest path posible.
	</p>
	<p>
		The program is able to read planets' data from a plain text file in order to make
		a better simulation.
	</p>
	
	<p>
		Programmed in <strong>C++</strong> using <strong>Canvas</strong> element for drawing.
	</p>
	<div class="infoBox">
		<img class="projectThumbnail" src="pictures/p3-lp2.png" title="PL2 3rd Practice (2008)" alt="PL2 3rd Practice" />
		<ul>
			<li><a href="http://lp-2.googlecode.com/files/LP2_P3%20-%20C%C3%A1lculo_%C3%B3rbitas.rar">Download exe</a> | </li>
			<li><a href="http://code.google.com/p/lp-2/source/browse/#svn%2Ftrunk%2FP3_project">View source code</a></li>
		</ul>
	</div>
	
	<h2>PL2 4th Practice - Automatic Mineswepper</h2>
	<p>
		This idea of this practice is generating a mineswepper that must be solved by the computer
		by following various strategies.
	</p>
	<p> 
		The computer starts at bottom left corner,
		and its objetive is to reach the top right corner of the board in order to save the Eviannar planet.
		If the computer is not able to continue to apply any more strategies at any moment, it gives the control 
		back to the user so he can choose a new tile. Then, the control goes back to the CPU.
	</p>
	<p>
		Programmed on <strong>C++</strong> and using <strong>MVC</strong> pattern.
	</p>
	<div class="infoBox">
		<img class="projectThumbnail" src="pictures/p4-lp2.png" title="PL2 4th Practice (2008)" alt="PL2 4th Practice" />
		<ul>
			<li><a href="http://lp-2.googlecode.com/files/LP2_P4%20-%20Buscaminas%20automatico.rar">Download exe</a> | </li>
			<li><a href="http://code.google.com/p/lp-2/source/browse/#svn%2Ftrunk%2FP4_project">View source code</a></li>
		</ul>
	</div>
	<h2><a class="anchor" name="LP2_P5">PL2 5th Practice - Reversi</a></h2>
	
	<p>
		The last PL2 practice was about the Reversi game.
	</p>
	<p>
		The game allows to play 2 players or player vs CPU.
		It also allow to change the size of the board.
	</p>
	<p>
		Programmed in <strong>C++</strong> and using <strong>MVC</strong> pattern.
	</p>
	
	<div class="infoBox">
		<img class="projectThumbnail" src="pictures/p5-lp2.png" title="PL2 5th Practice (2008)" alt="PL2 5th Practice" />
		<ul>
			<li><a href="http://lp-2.googlecode.com/files/LP2_P5%20-%20Reversi%20Flashk.rar">Download exe</a> | </li>
			<li><a href="http://code.google.com/p/lp-2/source/browse/#svn%2Ftrunk%2FP5_project">View source code</a></li>
		</ul>
	</div>
	
	<h2>Minimax applied on Reversi game</h2>
	<p>
		We've got a topic about Games Theory in <em>Programming Methodology and Technology</em> subject.
		We learnt <em>Minimax Algorithm</em> among them.
	</p>
	<p>
		Starting from pseudocode given at class, I made this little program
		that allows to play Reversi against a slightly more aggresive AI than <a href="#LP2_P5">the PL2 one</a>
		and at 3 different levels of difficulty. 
		It also allow to simulate the game between two CPU in all the difficulty levels and playing 2 players.
	</p>
	<p>
		Programmed in <strong>C#</strong> using a <strong>minimax</strong> algorithm.
	</p>
	<div class="infoBox">
		<img class="projectThumbnail" src="pictures/reversi-2.png" title="PMT Reversi (2012)" alt="PMT Reversi" />
		<ul>
			<li><a href="http://mtp-reversi.googlecode.com/files/MTP%20Reversi%20-%20%5B1.0%5D.rar">Download exe</a> | </li>
			<li><a href="http://code.google.com/p/mtp-reversi/source/browse/#svn%2Ftrunk%2FMTP%20Reversi">View source code</a></li>
		</ul>
	</div>
</section>